/// @file MetaDataExporter.h
/// @brief MetaDataExporter
/// @copyright Copyright (c) 2025  Hefei Jiushao Intelligent Technology Co., Ltd. All rights reserved.
/// @createtime 2025-04-29
#pragma once

#ifndef INTEROPMETADATAEXPORTER_H
#define INTEROPMETADATAEXPORTER_H
#include "common/constant.h"
#include "nlohmann/json.hpp"
#include "../include/InterOpIO.h"
#include <SPAIopInputProductStructure.h>
#include <SPAIopPSImportResult.h>
#include <list>

AMCAX_EXCHANGE_NAMESPACE_BEGIN

namespace InterOp
{
    // Export meta data.
    class MetaDataExporter
    {
    public:
        explicit MetaDataExporter(const std::string &outJsonFilePath, FacetOptions facetOptions);
        bool Export(const SPAIopPSImportResult &importResult, const SPAIopInputProductStructure &inputProductStructure, MetaDataInfo &info);

    private:
        const std::string m_outJsonFilePath;
        FacetOptions m_facetOptions;
    };
}

AMCAX_EXCHANGE_NAMESPACE_END

#endif